/*
 * ClavoFisica.cpp
 *
 *  Created on: Nov 3, 2013
 *      Author: Hernan
 */

#include "ClavoFisica.h"


typedef struct InfoEntidad {
   string *nombre;
   EntidadFisica *entidad;
} InfoEntidad ;




ClavoFisica::ClavoFisica(b2World* world, float x, float y, float ancho, float alto, float anguloRotacion, string tipo) :  EntidadFisica(tipo)  {
	this->definicionCuerpoFisico->position.Set(x, y);
	this->definicionCuerpoFisico->angle = anguloRotacion;
	this->cuerpoFisico = world->CreateBody(definicionCuerpoFisico);

	b2PolygonShape clavin;
	b2Vec2 vec[5];
	vec[0] = b2Vec2(-ancho/6, alto/2);
	vec[1] = b2Vec2(-ancho/6, -alto/4);
	vec[2] = b2Vec2(0,-alto/2);
	vec[3] = b2Vec2(ancho/6, -alto/4);
	vec[4] = b2Vec2(ancho/6, alto/2);
	//seteo las dimensiones de la viga


	clavin.Set(vec,5);

	this->fixture = new b2FixtureDef();
	this->fixture->shape = &clavin;
	this->fixture->friction = 0.7f;
	this->fixture->restitution= 0.0f;

	this->cuerpoFisico->CreateFixture(this->fixture);


	this->guardarInformacionDeEntidad();
	this->alto = alto;
	this->ancho = ancho;
}

ClavoFisica::~ClavoFisica() {
	// TODO Auto-generated destructor stub
}

